#ifndef COMMAND_CONCRETE_COMMANDS_HPP
#define COMMAND_CONCRETE_COMMANDS_HPP

#include "ICommand.hpp"
#include <memory>

class MoveCommand : public ICommand {
public:
    void execute(Executor& executor) override;
};

class TurnLeftCommand : public ICommand {
public:
    void execute(Executor& executor) override;
};

class TurnRightCommand : public ICommand {
public:
    void execute(Executor& executor) override;
};

class FastCommand : public ICommand {
public:
    void execute(Executor& executor) override;
};

class ReverseCommand : public ICommand {
public:
    void execute(Executor& executor) override;
};

class TurnRoundCommand : public ICommand {
public:
    void execute(Executor& executor) override;
};

#endif // COMMAND_CONCRETE_COMMANDS_HPP